xentrace: Per-cpu xentrace buffers
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 20 Jan 2010 20:33:35 +0000 (20:33 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 20 Jan 2010 20:33:35 +0000 (20:33 +0000)
commit650afa3995c32c50f3272dbe4514781abed8bdc0
treefe5662f5a55bdc654d48b93c20bbf1514174764b
parent9e5e0eb8408c37b42411c6686c36eccd2426e7fd
xentrace: Per-cpu xentrace buffers

In the current xentrace configuration, xentrace buffers are all
allocated in a single contiguous chunk, and then divided among logical
cpus, one buffer per cpu.  The size of an allocatable chunk is fairly
limited, in my experience about 128 pages (512KiB).  As the number of
logical cores increase, this means a much smaller maximum per-cpu
trace buffer per cpu; on my dual-socket quad-core nehalem box with
hyperthreading (16 logical cpus), that comes to 8 pages per logical
cpu.

This patch addresses this issue by allocating per-cpu buffers
separately.

Signed-off-by: George Dunlap <dunlapg@umich.edu>
tools/xentrace/xentrace.c
xen/common/trace.c
xen/include/public/sysctl.h
xen/include/public/trace.h